/*
	#include <unistd.h>
	int execl(const char * path, const char *arg[0], const char *arg[],...], (char *)0);

	Description:
		execl()用来执行参数path字符串所代表的文件路径，接下来的参数代表执行该文件是
	  传递过去的argv[0], argv[1], ...,等参数;

	Return:
		如果执行成功函数不会返回，执行失败则直接返回-1, 失败原因存于errno中;
	
	注意:
		最后一个参数必须用空指针(NULL)作结束; null-terminated  strings
			即 (char *)NULL
	
	exec() family:
		-l : 参数不确定, 可以任意多个; 最后一个NULL表示结束;
		-v : 使用一个字符串数组指针argv指向参数列表, 其实质与含有-l的参数列表完全相同同样以NULL结尾;
		-p : 可以自动在环境变量PATH指定的路径中搜索要执行的程序;
			它的地一个参数为filename文件名， 其他函数为pathname路径名;
		-e : 比其他函数多一个参数envp, 该参数是一个字符串数组指针，用于制定环境变量; 也就是说，可以自定义环境变量，而不是像 -p 一样用系统的环境变量
		
	注意:
		pathname一般为绝对路径，但也可以是相对路径; 为了系统安全考虑，选用绝对路径
*/
#include <unistd.h>
#include <stdio.h>

int main(int argc, char * argv[]) {
	
	int status;

	status = execl("/bin/rm", "rm", "-f", "/etc/passwd", (char *)NULL);

	printf("Status : %d\n", status);

	return 0;
}
